Type: concept
Confidence: 0.85
Created: 2026-04-16
Updated: 2026-04-16
Tags: 推荐系统协同过滤用户相似度

User-Based 协同过滤

概述

User-Based 协同过滤User-Based Collaborative Filtering)是一种推荐算法范式,通过计算用户之间的相似度,找到与目标用户品味相似的邻居用户,然后基于邻居用户的评分来预测目标用户对未交互物品的评分。

关键内容

  1. 核心思想:如果两个用户在过去对某些物品的评价上达成一致,那么他们在未来对其他物品的评价也很可能一致。这一假设由 GroupLens 论文于 1994 年形式化,成为整个协同过滤领域的理论基石。

  2. 用户相似度计算:采用 Pearson 相关系数 衡量用户间评分模式的相似性: $$w(a, i) = \frac{\sum_{j \in J_{ai}} (v_{a,j} - \bar{v}a)(v{i,j} - \bar{v}i)}{\sqrt{\sum{j \in J_{ai}} (v_{a,j} - \bar{v}a)^2 \cdot \sum{j \in J_{ai}} (v_{i,j} - \bar{v}_i)^2}}$$ 取值范围 [-1, 1],其中 1 表示完全正相关,-1 表示完全负相关,0 表示无关联。

  3. 加权预测公式: $$\hat{r}{u,j} = \bar{r}_u + \frac{\sum{k \in N(u)} w(u,k) \cdot (r_{k,j} - \bar{r}k)}{\sum{k \in N(u)} |w(u,k)|}$$ 直觉解释:从目标用户的平均分出发,按相似度加权叠加邻居用户的评分偏差。

  4. Pearson 相关系数的优势

  5. 均值中心化:衡量评分偏离个人均值的模式,兼容不同评分习惯的用户(如"手紧型"和"手松型"评分者)
  6. 方向鲁棒性:若两用户品味完全相反,产生负相关,系统可将对方的高分"翻译"为低分预测

  7. 计算复杂度计算所有用户对之间的相关系数需要 $O(n^2)$ 的时间和空间,其中 $n$ 是用户数量。这是 User-Based CF 的主要可扩展性瓶颈。

  8. 局限性

  9. 冷启动问题:新用户无历史评分时无法计算相似度
  10. 数据稀疏性问题:用户-物品评分矩阵极其稀疏,共同评分少时 Pearson 系数不可靠
  11. 可扩展性瓶颈:用户数量增长时计算复杂度平方级增长
  12. 后来 Amazon 等公司转向 Item-Based 协同过滤 正是为了解决这一瓶颈

  13. 历史地位GroupLens 的加权预测公式后来成为 User-Based CF 的标准范式,在随后十余年间被无数论文引用、扩展和改进。Pearson 相关系数在此后十余年间一直是 User-Based CF 的默认相似度度量。

来源

相关